package com.cskaoyan.market.admin.service;

import java.util.List;
import java.util.Map;

import com.cskaoyan.market.db.domain.MarketTopic;

/**
 * @author BlackFlame33
 * @date 2023/03/22
 **/
public interface AdminTopicService {
    /**
     * 此方法返回话题列表
     *
     * @param page 当前访问页
     * @param limit 每页数据量
     * @param sort 将要排序的字段
     * @param order 升序或降序
     *
     * @return java.util.List<com.cskaoyan.market.db.domain.MarketTopic>
     * @author BlackFlame33
     * @since 2023/03/22 02:41
     */
    List<MarketTopic> getTopicList(int page, int limit, String sort, String order);

    /**
     * 此方法返回创建好的话题
     *
     * @param goods 商品列表
     * @param title 标题
     * @param subtitle 副标题
     * @param picUrl 图片 URL
     * @param content 内容
     * @param price 价格
     * @param readCount 阅读量
     *
     * @return com.cskaoyan.market.db.domain.MarketTopic
     * @author BlackFlame33
     * @since 2023/03/22 09:25
     */
    MarketTopic createTopic(Integer[] goods, String title, String subtitle, String picUrl, String content,
        Integer price, String readCount);

    /**
     * 此方法根据前端获取的属性更新话题
     *
     * @param marketTopic 话题属性
     *
     * @return com.cskaoyan.market.db.domain.MarketTopic
     * @author BlackFlame33
     * @since 2023/03/22 10:40
     */
    MarketTopic updateTopic(MarketTopic marketTopic);

    /**
     * 此方法返回阅读话题详情时的数据格式
     *
     * @param topicId 话题 id
     *
     * @return java.util.Map<java.lang.String,java.lang.Object>
     * @author BlackFlame33
     * @since 2023/03/22 10:50
     */
    Map<String, Object> readTopic(int topicId);

    /**
     *
     * 此方法通过主键id，更改逻辑删除
     *
     * @param marketTopic 要删除的专题对象
     *
     * @return int 状态码，1 为正常，非 1 为不正常
     * @author BlackFlame33
     * @since 2023/03/22 11:20
     */
    int deleteTopic(MarketTopic marketTopic);
}